草庐IT

Python pywin32 访问被拒绝

全部标签

c++ - VS 2010 中 win32 应用程序中的文件夹复制

我正在编写以下代码voidcopyDir(void){SHFILEOPSTRUCTs={0};s.hwnd=hwnd;s.wFunc=FO_COPY;s.pTo="E:\\dest\0";s.pFrom="Dir\\*\0";s.fFlags=FOF_SILENT;SHFileOperation(&s);}上面的函数成功地将一个文件夹和子文件夹复制到目标路径,我遇到的唯一问题是当目标路径上不存在文件夹时,windows提示“你想创建这个文件夹”,怎么能我绕过此提示和Windows显示的Windows进度条。 最佳答案 你需要使用这个

windows - 如何获取 win32_service 恢复选项卡属性

关于可以在此处看到的服务的恢复选项卡属性:是否有API可以获取以下属性值:例如值的第一次失败:“不采取任何行动”第二次失败后续失败重置失败计数我更喜欢在PowerShell中执行此操作的方法,但也想了解其他选项。 最佳答案 我不熟悉PowerShell,但有可用的Win32API:QueryServiceConfig2().将dwInfoLevel参数设置为SERVICE_CONFIG_FAILURE_ACTIONS,并在lpBuffer参数中传递一个指向缓冲区的指针,该缓冲区的大小足以接收SERVICE_FAILURE_ACTIO

windows - 使用GDI+绘制PixelFormat32bppPARGB图像使用常规公式而不是预乘公式

这里是一些显示问题的最小代码:staticconstintMAX_WIDTH=320;staticconstintMAX_HEIGHT=320;Gdiplus::BitmapforegroundImg(MAX_WIDTH,MAX_HEIGHT,PixelFormat32bppPARGB);{Gdiplus::Graphicsg(&foregroundImg);g.Clear(Gdiplus::Color(10,255,255,255));}Gdiplus::BitmapsoftwareBitmap(MAX_WIDTH,MAX_HEIGHT,PixelFormat32bppPARGB);

c++ - ofstream operator<< 访问冲突错误

我有一个为Linux编写的小应用程序,现在已移植到Windows。它是单线程的并使用boost(如果重要的话)。应用程序正在尝试使用以下代码写入文本文件:m_oFile.open(oFileName.c_str());if(!m_oFile.is_open()){cerrm_oFile是类的成员。文件创建并打开成功;在上面的最后一行代码中抛出异常。堆栈跟踪:msvcr100.dll!_lock_file(_iobuf*pf)Line236+0xabytesCApp.exe!std::basic_filebuf>::_Lock()Line310+0xfbytesC++App.exe!st

c# - 授予非管理员用户访问权限以启动/停止服务 Windows 7

我有一个Windows服务和一个Windows应用程序。我想使用参数从我的Windows应用程序启动和停止此窗口服务。这是我必须启动该服务的条件foreach(ServiceControllerscinServiceController.GetServices()){if(sc.ServiceName=="serviceName"){//serviceisfoundusing(ServiceControllerserviceController=newServiceController("serviceName")){string[]args=newstring[1];args[0]=

windows - 在 Windows 中将批处理文件放在哪里,以便在不更改 PATH 的情况下始终可以访问它?

我有一个程序的NSIS安装程序并更改PATH设置以使该程序始终可以从命令行访问。然而,操纵PATH会产生一些不利影响,例如其他程序会从该目录中获取DLL。为了避免摆弄PATH,我想创建一个包装器.bat文件来调用可执行文件。我应该把这个.bat文件放在哪里以便总能找到它?c:\Windows\System32(更准确地说,NSIS中的$SYSDIR)在良好实践方面是否合适?我的目标是64位系统,XP和7。 最佳答案 我个人不太喜欢对我的%path做任何事情的应用程序,使用命令行工具的人可能知道如何更改%path%或使用doskey(

c++ - 从 32 位应用程序 Hook 64 位进程

我正在使用SetWindowHookEx将DLL加载到另一个进程中,但我需要能够挂接到32位和64位进程。我想我需要两个单独的DLL,但是我可以在不创建两个版本的“启动器”应用程序的情况下做到这一点吗?我需要将DLL句柄传递给SetWindowsHookEx,但我无法使用LoadLibrary获取它。 最佳答案 使用进程外COM+对象承载DLL。您可以使用此方法从32位调用64位代码,这样大多数启动器代码都保持不变,除了您决定加载32位或64位COM+对象的if语句。可以对该对象进行编码以将适当版本的DLL加载到进程中,一个用于64

windows - PAR 和 Win32::Exe

我在32位Windows7上运行StrawberryPerl。我还使用Par::Packer创建独立的可执行文件。问题是PAR::Packer使用了一个Camel图标,我想用不同的图标替换它。为此,我使用Win32::Exe。运行Win32::Exe的更新脚本后,我可以更改图标,但现在可执行文件不再起作用。禁用GUI标志并启用控制台后,我现在得到以下输出:Usage:foo.exe[-Alib.par][-Idir][-Mmodule][src.par][program.pl]foo.exe[-B|-b][-Ooutfile]src.par 最佳答案

windows - 不用 tty 访问 COIN$

我正在尝试访问从控制台接收输入的文件描述符。我目前正在使用HANDLEfd=CreateFile("CONIN$",GENERIC_READ|GENERIC_WRITE,TRUE,0,OPEN_EXISTING,0,0);SetConsoleMode(fd,ENABLE_WINDOW_INPUT);并将fd返回到一个程序,该程序读取(基于libuv)来自控制台的输入。当进程在控制台中执行时,这工作正常,但是当我将输入管道输入到程序中时,从fd读取崩溃echohello|inputProgram我怀疑没有与输入过程关联的控制台,但我不确定。以这种方式执行时,如何正确读取cmd窗口中的输入

windows - 访问时自动发送魔法包

我将我的Windows8机器配置为监听从其他PC发送的魔术包以启动它。它工作得很好。但是我不想显式发送一个魔法包,如果我尝试通过网络访问PC时可以自动发送一个魔法包,我宁愿这样做。我尝试使用smbclient事件(30803)。我将此事件配置为触发命令行WOL。但是无论我尝试访问哪台PC,每次收到此事件时都会触发此命令。我不想在实际尝试访问PC-Y时唤醒PC-X。还有别的办法吗? 最佳答案 这听起来很有趣……一个可能的解决方案是,创建一个Windows服务并将其安装在服务器或一台曾经运行的计算机上。该服务基本上是一个网络嗅探器,可以